Simon McVittie [Tue, 19 Sep 2017 13:42:56 +0000 (14:42 +0100)]
Add a patch to fix FTBFS in non-English locales
Simon McVittie [Tue, 19 Sep 2017 09:38:23 +0000 (10:38 +0100)]
Standards-Version: 4.1.0 (no changes)
Simon McVittie [Tue, 19 Sep 2017 09:37:36 +0000 (10:37 +0100)]
Replace patch with the version applied upstream in 2017.12
Simon McVittie [Fri, 15 Sep 2017 15:58:22 +0000 (16:58 +0100)]
2017.11-1
Simon McVittie [Fri, 15 Sep 2017 15:58:11 +0000 (16:58 +0100)]
Stop providing "ostree trivial-httpd" CLI
This follows upstream default behaviour. flatpak used to use it in its
tests, but the version in stable no longer does.
Simon McVittie [Fri, 15 Sep 2017 15:55:50 +0000 (16:55 +0100)]
Clarify changelog
Simon McVittie [Fri, 15 Sep 2017 15:55:26 +0000 (16:55 +0100)]
Update symbols file
Simon McVittie [Fri, 15 Sep 2017 15:07:06 +0000 (16:07 +0100)]
Fix test-help patch to allow for build-time testing
Signed-off-by: Simon McVittie <smcv@debian.org>
Simon McVittie [Fri, 15 Sep 2017 14:34:00 +0000 (15:34 +0100)]
Add a patch to fix JavaScript tests with gjs 1.50.0
It is more strict about 'let'.
Simon McVittie [Fri, 15 Sep 2017 14:16:58 +0000 (15:16 +0100)]
Add a patch to fix the new test-help.sh when ostree trivial-httpd is enabled
At the moment we still build that tool.
Simon McVittie [Fri, 15 Sep 2017 13:33:33 +0000 (14:33 +0100)]
Stop copying an old ostree-trivial-httpd.xml from debian/dist/ into source tree
Upstream distributes it again.
Simon McVittie [Fri, 15 Sep 2017 10:42:31 +0000 (11:42 +0100)]
Classify new ostree-tmpfiles.conf as part of ostree-boot, and so don't install it yet
Simon McVittie [Fri, 15 Sep 2017 10:26:40 +0000 (11:26 +0100)]
Adjust Description and Upstream-Name to emphasize libostree
Simon McVittie [Fri, 15 Sep 2017 10:20:19 +0000 (11:20 +0100)]
New upstream release
Drop all current patches, applied upstream.
Simon McVittie [Fri, 15 Sep 2017 10:18:32 +0000 (11:18 +0100)]
Updated version 2017.11 from 'upstream/2017.11'
with Debian dir
2375d1dd95332f3ef4f6ebdd72a48ef9e6faf12a
Simon McVittie [Fri, 15 Sep 2017 10:18:25 +0000 (11:18 +0100)]
New upstream version 2017.11
Colin Walters [Thu, 14 Sep 2017 14:44:04 +0000 (10:44 -0400)]
Release 2017.11
Closes: #1173
Approved by: jlebon
Colin Walters [Wed, 13 Sep 2017 16:09:51 +0000 (12:09 -0400)]
tests: Port some bits of C to new style
Where we can; perhaps after updating libglnx we should use the
new test error macro?
Closes: #1169
Approved by: jlebon
Colin Walters [Fri, 8 Sep 2017 21:07:45 +0000 (17:07 -0400)]
lib/checkout: Rename disjoint union, change to merge identical files
It turns out that librpm automatically merges identical files between
distinct packages, and this occurs in practice with Fedora today between
`chkconfig` and `initscripts` for exmaple.
Since we added this for rpm-ostree, we basically want to do what librpm does,
let's change the semantics to do a merge. While we're here rename
to `UNION_IDENTICAL`.
Closes: #1156
Approved by: jlebon
Colin Walters [Tue, 12 Sep 2017 14:31:39 +0000 (10:31 -0400)]
lib/repo: Port tmpdir locking func to new style
Prep for future work.
Closes: #1168
Approved by: jlebon
Colin Walters [Wed, 13 Sep 2017 15:18:04 +0000 (11:18 -0400)]
build-sys: Add -Werror=switch
We use the "exhaustive enum" pattern (i.e. no `default:`) in some places so
we're forced to touch all users when adding cases.
Closes: #1167
Approved by: peterbaouoft
Dan Nicholson [Mon, 11 Sep 2017 17:57:42 +0000 (12:57 -0500)]
repo: Ensure new config doesn't set remotes in separate file
If the new configuration passed to ostree_write_config () tries to
update options for a remote defined in a separate config file, return an
error. Without this, the full configuration would contain duplicate
remote specifications, which would raise an error the next time the repo
is opened.
Closes: #1159
Approved by: cgwalters
Jonathan Lebon [Mon, 11 Sep 2017 21:06:30 +0000 (21:06 +0000)]
bin/remote: don't load repo on root command
Subcommands will demand a repo argument themselves. This allows one to
call `ostree remote` and get the "No subcommand" error rather than the
"Missing --repo" error.
Closes: #1126
Approved by: cgwalters
Jonathan Lebon [Fri, 8 Sep 2017 19:40:59 +0000 (15:40 -0400)]
bin/admin: Don't load sysroot for root commands
There's no need to load the sysroot for root commands which have
subcommands, like `ostree admin` and `ostree admin instutil`. Otherwise,
even just calling them without arguments will cause a failure. The
subcommands will have the appropriate flags set as needed.
Closes: #1126
Approved by: cgwalters
Jonathan Lebon [Tue, 5 Sep 2017 18:27:20 +0000 (14:27 -0400)]
bin/static-delta: Convert to new style and tweak output
Convert the whole file to new style. Also tweak the help outputs to make
it similar enough to the other commands for tests to pass. Of course, we
should just centralize all subcommand handling the same way it was done
in rpm-ostree, though let's punt on that for now.
Closes: #1126
Approved by: cgwalters
Jonathan Lebon [Tue, 5 Sep 2017 18:27:20 +0000 (14:27 -0400)]
bin/admin: Don't require root for instutil
Otherwise, we can't even do `--help` on it. The subcommands all already
have the root flag set.
Closes: #1126
Approved by: cgwalters
Jonathan Lebon [Tue, 5 Sep 2017 18:27:20 +0000 (14:27 -0400)]
tests/test-help.sh: Rework and strengthen checks
The `sed` expression wasn't actually matching the main output, so we
weren't recursing into the subcommands. Update the syntax to match the
current output and add a check so we don't miss that happening again.
Add a check that the help output is only printed once in all
circumstances. Also add a check for proper handling of non-existent
commands.
Closes: #1126
Approved by: cgwalters
Jonathan Lebon [Fri, 1 Sep 2017 19:52:13 +0000 (15:52 -0400)]
bin/config: Tweak parameter string
Make the parameter string more detailed.
Closes: #1126
Approved by: cgwalters
Jonathan Lebon [Fri, 1 Sep 2017 19:44:49 +0000 (15:44 -0400)]
bin/main: Print usage when no command given
Minor regression from https://github.com/ostreedev/ostree/pull/1106. We
want to print the usage text both when unknown commands are passed, as
well as when no commands are passed at all.
Closes: #1126
Approved by: cgwalters
Colin Walters [Tue, 12 Sep 2017 14:21:17 +0000 (10:21 -0400)]
lib/sysroot: Use direct g_mkdtemp() for overlay tmpdir
The new libglnx `glnx_mkdtempat()` uses autocleanups, which
is inconvenient for this use case where we *don't* want autocleanups.
Since we don't need it to be fd-relative, just directly invoke
`g_mkdtemp_full()` which is fine for this use case.
Prep for updating libglnx.
Closes: #1161
Approved by: jlebon
Colin Walters [Tue, 12 Sep 2017 13:46:05 +0000 (09:46 -0400)]
ci: Fixate CentOS container image until rpm-md repos sync
Copy of https://github.com/projectatomic/rpm-ostree/pull/985
Closes: #1160
Approved by: jlebon
Dan Nicholson [Fri, 8 Sep 2017 15:18:10 +0000 (10:18 -0500)]
repo: Add add-remotes-config-dir option
This option allows a repo to explicitly opt out of adding new remotes in
a remotes configuration directory. This currently defaults to true for
system repos and false for non-system repos to maintain legacy behavior
that non-system repos don't add remotes in a configuration directory.
That would be problematic for flatpak, which specifies a remotes config
dir but adds remotes in ways that are incompatible with it.
So, what this really does is allow system repos to control whether they
want to add remotes in the config dir or not. That's important if your
flatpak repo is the system repo like at Endless.
Closes: #1134
Closes: #1155
Approved by: cgwalters
Dan Nicholson [Fri, 8 Sep 2017 17:09:18 +0000 (12:09 -0500)]
sysroot: Reload config after setting sysroot kind
This allows any repo configuration defaults to be set based on whether
it's a system repo or not.
Closes: #1155
Approved by: cgwalters
Matthew Leeds [Sat, 9 Sep 2017 00:41:04 +0000 (17:41 -0700)]
lib/repo: Update outdated comment
Closes: #1157
Approved by: cgwalters
Alexander Larsson [Wed, 6 Sep 2017 07:31:16 +0000 (09:31 +0200)]
rofiles-fuse: Fix lchown() and hardlink verification for symlinks
If you lchown("symlink") then we were incorrectly trying to chown the
symlink target, rather than the symlink itself. In particular, this cause
cp -a to fail for a broken symlink. Additionally, it was using the
symlink target when verifying writability, rather than the symlink
itself.
To fix this, we need pass AT_SYMLINK_NOFOLLOW in these cases.
In general, the kernel itself will always resolve any symlinks for us
before calling into the fuse backend, so we should really never do any
symlink following in the fuse fs itself. So, we pro-actively add
NOFOLLOW flags to a few other places:
truncate:
In reality this will never be hit, because
the kernel will resolve symlinks before calling us.
access:
It seems the current fuse implementation never calls this
(faccessat w/AT_SYMLINK_NOFOLLOW never reaches the fuse fs)
but if this ever is implemented this is the correct behaviour.
We would ideally do `chmod` but this is not implemented on current kernels.
Because we're not multi-threaded, this is OK anyways.
Further, our write verification wasn't correctly handling the case of hardlinked
symlinks, which can occur for `bare` checkouts but *not* `bare-user` which the
tests were using. Change to `bare` mode to verify that.
Closes: #1137
Approved by: alexlarsson
Colin Walters [Fri, 8 Sep 2017 13:31:03 +0000 (09:31 -0400)]
lib/syslinux: Port to new code style
There was only one tricky bit here around the ownership of the lines; I made use
of `g_steal_pointer()` to consistently track ownership, and converted to a `for`
loop while still preserving the loop logic around the last entry.
Closes: #1154
Approved by: jlebon
Colin Walters [Tue, 5 Sep 2017 19:43:04 +0000 (15:43 -0400)]
lib: Add a private helper to abort txns, use in sysroot cleanup
Steal some code from flatpak for this, which allows porting a few more things to
new style. I started on a public API version of this but was trying to roll some
other things into it and it snowballed. Let's do this version since it's easy
for now.
While here I changed things so that `generate_deployment_refs()` now just uses
`_set_ref_immediate()` rather than requring a txn.
Also, AFAICS there was no test coverage of `generate_deployment_refs()`; I tried
commenting it out and at least `admin-test.sh` passed. Add some coverage of this
- I verified that with this commenting out bits of that function cause the test
to fail.
Closes: #1132
Approved by: jlebon
Colin Walters [Fri, 8 Sep 2017 01:46:10 +0000 (21:46 -0400)]
lib/grub2: Port some to new code style
I resisted trying to do anything invasive here like fd-relative porting as our
coverage is weak. But this was all straightforward porting to decl-after-stmt
style.
Closes: #1153
Approved by: jlebon
Dan Nicholson [Thu, 7 Sep 2017 19:02:51 +0000 (14:02 -0500)]
repo: Fix non-system remotes-config-dir usage
Before commit
e0346c1, a non-system repo could specify
remotes-config-dir and have remotes read from there. However, adding
remotes would only be done in the config dir for a system repo. Restore
that by respecting remotes-config-dir when no sysroot is found and
adding back the ostree_repo_is_system() check when adding remotes.
Closes: #1133
Closes: #1151
Approved by: cgwalters
Guy Shapiro [Tue, 5 Sep 2017 12:59:35 +0000 (15:59 +0300)]
uboot: add non-default deployments to uEnv.txt
Include non-default deployments in the uEnv.txt file imported by
U-Boot. All the configurations beside the defaults will have
numerical suffix E.G. "kernel_image2" or "bootargs2".
Those U-Boot environment variables may be used from interactive boot
prompt or from "altbootcmd" script.
Closes: #1138
Approved by: cgwalters
Guy Shapiro [Tue, 5 Sep 2017 09:03:52 +0000 (12:03 +0300)]
uboot: move system uEnv merge to new function, clean up
Split the code that merge the system uEnv to new function. While we're here,
clean up the logic to e.g. use `ot_openat_ignore_enoent()`.
Closes: #1138
Approved by: cgwalters
Colin Walters [Thu, 7 Sep 2017 19:03:24 +0000 (15:03 -0400)]
tree-wide: Add error prefixing for most remaining syscalls
There were some important ones there like a random `syncfs()`. The remaining
users are mostly blocked on the "fstatat enoent" case, I'll wait to port those.
Closes: #1150
Approved by: jlebon
Colin Walters [Thu, 7 Sep 2017 16:11:55 +0000 (12:11 -0400)]
lib/sysroot: Use fd-relative acccess for bootversion cleanup
I noticed this was an easy change.
Closes: #1148
Approved by: peterbaouoft
Robert McQueen [Thu, 3 Aug 2017 09:54:33 +0000 (10:54 +0100)]
lib/gpg: Provide the public key to the duplicate check
Add keys from the signing homedir to the GpgVerifier used to look
for duplicate signatures. This will allow signatures from subkeys
to be canonicalised and recognised as already signed despite the
differing key ID, avoiding duplicate signatures.
Closes: https://github.com/ostreedev/ostree/issues/608
Closes: #1092
Approved by: cgwalters
Robert McQueen [Thu, 3 Aug 2017 09:23:39 +0000 (10:23 +0100)]
lib/gpg: Correct missing line prefix with bad signatures
In the case the signature time was bad, a line prefix was missing from the
result of `ostree_gpg_verify_result_describe_variant()`.
Closes: #1092
Approved by: cgwalters
Robert McQueen [Thu, 3 Aug 2017 09:00:42 +0000 (10:00 +0100)]
lib/gpg: Add _FINGERPRINT_PRIMARY to OstreeGpgVerifyResult
Revert the switch of _FINGERPRINT to giving the primary key ID
rather than the signing key ID, and instead add the primary
key ID as a new attribute which is available if the key is not
missing.
Closes: https://github.com/ostreedev/ostree/issues/608
Closes: #1092
Approved by: cgwalters
Matthew Leeds [Thu, 7 Sep 2017 18:19:34 +0000 (11:19 -0700)]
tests: Check "refs -c PREFIX" behavior
This commit adds tests to check the behavior of "refs -c PREFIX", where
prefix is interpreted as a collection ID.
Closes: #1149
Approved by: cgwalters
Colin Walters [Thu, 7 Sep 2017 02:08:55 +0000 (22:08 -0400)]
lib/commit: Add some error prefixing for txn commit/tmpdir
To help debug this: https://lists.projectatomic.io/projectatomic-archives/atomic-devel/2017-September/msg00001.html
Currently we just get: `error: Commit: unlinkat: Directory not empty`
Closes: #1147
Approved by: jlebon
Colin Walters [Thu, 7 Sep 2017 01:44:09 +0000 (21:44 -0400)]
lib/pull: A bit of new style porting
A lof of the functions here are async and have nontrivial exits, but these ones
are all sync were straightforward ports.
Not prep for anything, just chipping away at porting.
Closes: #1146
Approved by: jlebon
Colin Walters [Thu, 7 Sep 2017 01:30:13 +0000 (21:30 -0400)]
lib/pull: Only look for cookie files for non-local remotes
Just noticed this while reading an strace.
Closes: https://github.com/ostreedev/ostree/issues/1139
Closes: #1145
Approved by: jlebon
Colin Walters [Wed, 6 Sep 2017 21:11:27 +0000 (17:11 -0400)]
lib/commit: Update docs/code style for ostree_repo_scan_hardlinks()
Happened to notice this one `goto out` user, and decided to tweak the docs at
the same time.
Closes: #1144
Approved by: jlebon
Colin Walters [Wed, 6 Sep 2017 15:37:02 +0000 (11:37 -0400)]
tree-wide: Use helpers for unlinkat()
We have `ot_ensure_unlinked_at()` for the "ignore ENOENT" case, and
`glnx_unlinkat()` otherwise. Port all in-tree callers to one or the other as
appropriate.
Just noticed an unprefixed error in the refs case and decided to do a tree-wide
check.
Closes: #1142
Approved by: jlebon
Colin Walters [Wed, 6 Sep 2017 14:39:43 +0000 (10:39 -0400)]
tests/rofiles-fuse: Add tests for chmod/chown
Prep for https://github.com/ostreedev/ostree/pull/1137 where
we were incorrectly handling `chown()` on symlinks.
Closes: #1141
Approved by: jlebon
Colin Walters [Wed, 6 Sep 2017 01:18:59 +0000 (21:18 -0400)]
lib/gpg: Port a few misc gpg functions to new style
I'd mostly been skipping the GPG functions due to lack of autoptr for a few
things, but I noticed these bits were straightforward.
Closes: #1136
Approved by: jlebon
Colin Walters [Wed, 6 Sep 2017 01:03:18 +0000 (21:03 -0400)]
lib/gpg: Use nicer helper for gpg error messages
The vast majority of invocations of `ot_gpgme_error_to_gio_error()` were paired
with `g_prefix_error()`; let's combine them for the same reason we do
`glnx_throw_errno_prefix()`. For the few cases that don't we might as well add
some prefix.
I also changed it to `return FALSE` in prep for more style porting.
Closes: #1135
Approved by: jlebon
Colin Walters [Tue, 5 Sep 2017 19:24:07 +0000 (15:24 -0400)]
lib/sysroot: A bit more new style porting
A few things not done in the last pass; prep for `ostree_sysroot_new_at()` work.
Closes: #1131
Approved by: jlebon
Colin Walters [Tue, 5 Sep 2017 19:01:12 +0000 (15:01 -0400)]
bin/local-pull: Clarify docs, add more tests for corrupted local pulls
I was reading the pull-local command docs and realized it was somewhat unclear
that `--untrusted` *only* applied to local repo pulls; in other words that we
always treat non-local pulls as untrusted.
Tweak the docstring, and add tests that verify this explicitly.
Closes: #1130
Approved by: jlebon
Colin Walters [Tue, 5 Sep 2017 16:06:46 +0000 (12:06 -0400)]
lib/repo: Add error prefixing during hardlink object import
I happened to have a repo with a missing commit object, and got an unprefixed
error during a pull-local.
Closes: #1129
Approved by: jlebon
Colin Walters [Wed, 6 Sep 2017 14:24:56 +0000 (10:24 -0400)]
lib/repo: Add apidoc for repo properties
However, they weren't showing up in the output HTML and I have
no idea why; I looked at what we're doing and it looks close enough
to what's going on in `GDBusConnection` that I was using as a reference.
I'm not going to spend a lot of time to debug it right now.
Closes: #1140
Approved by: jlebon
Colin Walters [Wed, 6 Sep 2017 16:42:51 +0000 (12:42 -0400)]
ci: Hackaround Fedora rpm/libdb/glibc issue
Not sure I want to wait a few days for a new container, so let's
give this a shot now.
See https://bugzilla.redhat.com/show_bug.cgi?id=
1483553
Closes: #1143
Approved by: jlebon
Colin Walters [Fri, 1 Sep 2017 19:03:02 +0000 (15:03 -0400)]
bin/admin: Check for booted sysroot for root-required commands
Drops a use of `ostree_sysroot_get_path()`, prep for `ostree_sysroot_new_at()`.
Closes: #1123
Approved by: jlebon
Colin Walters [Fri, 1 Sep 2017 19:01:18 +0000 (15:01 -0400)]
bin/admin: Do sysroot loading during argument parsing
Followup from previous patch - we can now centralize the sysroot loading.
Besides the obvious cleanup value, this is also prep for dropping an
`ostree_sysroot_get_path()` user.
Closes: #1123
Approved by: jlebon
Colin Walters [Fri, 1 Sep 2017 18:57:53 +0000 (14:57 -0400)]
bin/admin: Change init-fs to stop loading a sysroot to init one
This is exactly analogous to the `ostree init` case where
we have `OSTREE_BUILTIN_FLAG_NO_REPO` to avoid trying to load
a repo when we're creating one.
Let's avoid the pointless sysroot for `init-fs`; among other
things this will then let us do `ostree_sysroot_load()` inside
the argument parsing, and drop it from every other user.
Closes: #1123
Approved by: jlebon
Colin Walters [Fri, 1 Sep 2017 18:43:33 +0000 (14:43 -0400)]
bin/admin: Check for booted deployment to see if we should reboot
Rather than calling `ostree_sysroot_get_path()`, which I'd like to deprecate for
the same reason as `ostree_repo_get_path()`.
Closes: #1123
Approved by: jlebon
Colin Walters [Fri, 1 Sep 2017 18:41:07 +0000 (14:41 -0400)]
bin/admin: Port switch,upgrade to new style
Was pretty easy. Prep for future work.
Closes: #1123
Approved by: jlebon
Colin Walters [Fri, 1 Sep 2017 19:24:44 +0000 (15:24 -0400)]
bin/prune: Port to new style
No functional changes, all straightforward. Prep for
https://github.com/ostreedev/ostree/issues/1115
Closes: #1124
Approved by: jlebon
Colin Walters [Fri, 1 Sep 2017 20:15:33 +0000 (16:15 -0400)]
tree-wide: Replace archive-z2 with archive
In almost all places. There are just a few exceptions; one tricky bit for
example is that the repo config must still have `mode=archive-z2`, since
`archive` used to mean something else. (We could very likely just get rid of
that check, but eh, later).
I also added a test that one can still do `ostree repo init --mode=archive-z2`.
Closes: #1125
Approved by: jlebon
Ruixin [Thu, 31 Aug 2017 15:44:35 +0000 (15:44 +0000)]
checkout: add an extra checkout_overwrite mode
This is for issue projectatomic/rpm-ostree#365,
an extra option of overwrite mode is added to the checkout command
so that when there is "non-directory" file already exist
during checkout, the error will be handled.
Some tests are added for regression
Closes: #1116
Approved by: cgwalters
Jonathan Lebon [Wed, 30 Aug 2017 19:20:31 +0000 (15:20 -0400)]
commit: filter out selinux label before commit
The new --selinux-policy added in [0] exposed a subtle issue in the way
we handle labeling during commit. The CI system in rpm-ostree hit this
when trying to make use of it[1].
Basically, because of the way we use a GVariant to represent xattrs, if
a file to be committed already has an SELinux label, the xattr object
ends up with *two* label entries. This of course throws off fsck later
on, since the checksum will have gone over both entries, even though the
on-disk file will only have a single label (in which the second entry
wins).
I confirmed that the `fsck` added in the installed test fails without
the rest of this patch.
[0] https://github.com/ostreedev/ostree/pull/1114
[1] https://github.com/projectatomic/rpm-ostree/pull/953
Closes: #1121
Approved by: cgwalters
Matthew Leeds [Wed, 30 Aug 2017 19:06:45 +0000 (12:06 -0700)]
tests: Make the deployment mutable in test-sysroot.js
We attempt to make deployments mutable in the test suite (as opposed to
immutable which is the default) to make it easier to chmod and clean up
the tmp files after each test. This is normally accomplished by setting
OSTREE_SYSROOT_DEBUG=mutable-deployments in libtest.sh, but that only
affects the environment variables for that bash instance, not the
process running gjs. So in test-sysroot.js OSTREE_SYSROOT_DEBUG wasn't
set when sysroot.deploy_tree() was called, which means the deployment
was made immutable which eventually causes the test to fail. This only
occurs when the test is run by the root user because for non-root users
_ostree_linuxfs_fd_alter_immutable_flag() would silently fail and the
deployment would be mutable.
This commit fixes this issue by setting the environment variable in
tests/test-sysroot.js.
Closes: #1122
Approved by: cgwalters
Colin Walters [Wed, 23 Aug 2017 01:52:24 +0000 (21:52 -0400)]
libarchive: Add support for translating paths during commit
For rpm-ostree, I want to move RPM files in `/boot` to `/usr/lib/ostree-boot`.
This is currently impossible without forking the libarchive code. Supporting
this is pretty straightforward; we already had pathname translation in
the libarchive code, we just need to expose it as an option.
On the command line side, I chose to wrap this as a regexp. That should be good
enough for a lot of use cases; sophisticated users should as always be making
use of the API. Note that this required some new `#ifdef LIBARCHIVE` bits to use
the new API. Following previous patterns here, we use the new API only if a
relevant option is enabled, ensuring unit test coverage of both paths.
For the test cases, I ended up changing the accounting to avoid having to
multiply the test count.
Closes: #1105
Approved by: jlebon
Simon McVittie [Wed, 30 Aug 2017 09:09:49 +0000 (10:09 +0100)]
Mark all patches as applied upstream for 2017.11
Simon McVittie [Tue, 29 Aug 2017 16:05:16 +0000 (17:05 +0100)]
Remove shebang from bash completions
bash completions are to be sourced. It makes little sense to
execute them.
Detected by Debian's Lintian tool, which warns about non-executable
files that appear to be #! scripts.
Signed-off-by: Simon McVittie <smcv@collabora.com>
Closes: #1119
Approved by: cgwalters
Simon McVittie [Tue, 29 Aug 2017 16:03:37 +0000 (17:03 +0100)]
test-basic-user-only: Skip final step if no user xattrs
We don't want to skip the entire test, because the whole point of
bare-user-only is that it works in the absence of xattrs; but we do
need to skip this last stage, which explicitly uses a bare-user
repository.
Signed-off-by: Simon McVittie <smcv@debian.org>
Closes: #1120
Approved by: cgwalters
Simon McVittie [Tue, 29 Aug 2017 16:02:43 +0000 (17:02 +0100)]
basic-test: Skip explicit uses of bare-user if no user xattrs
Signed-off-by: Simon McVittie <smcv@debian.org>
Closes: #1120
Approved by: cgwalters
Simon McVittie [Tue, 29 Aug 2017 16:02:18 +0000 (17:02 +0100)]
libtest: Allow skipping single checks without user xattrs
Signed-off-by: Simon McVittie <smcv@debian.org>
Closes: #1120
Approved by: cgwalters
Simon McVittie [Tue, 29 Aug 2017 16:01:41 +0000 (17:01 +0100)]
test-pull-bareuser.sh: This test uses bare-user, hence needs xattrs
Signed-off-by: Simon McVittie <smcv@debian.org>
Closes: #1120
Approved by: cgwalters
Simon McVittie [Tue, 29 Aug 2017 15:46:19 +0000 (16:46 +0100)]
test-libarchive-import: Skip if extended attributes are unsupported
This is the case at build-time on some (all?) Debian autobuilders.
Signed-off-by: Simon McVittie <smcv@collabora.com>
Closes: #1120
Approved by: cgwalters
Simon McVittie [Tue, 29 Aug 2017 17:18:57 +0000 (18:18 +0100)]
2017.10-1
Simon McVittie [Tue, 29 Aug 2017 17:14:32 +0000 (18:14 +0100)]
Make build-time test failures fatal again, if reproducible
Require at least 3 successes out of 5 for now.
Simon McVittie [Tue, 29 Aug 2017 17:12:01 +0000 (18:12 +0100)]
Add patch to remove useless #! from bash completions
Simon McVittie [Tue, 29 Aug 2017 17:09:04 +0000 (18:09 +0100)]
Add patches to make the tests pass again when /var/tmp is on tmpfs
tmpfs does not support user xattrs.
Simon McVittie [Tue, 29 Aug 2017 15:36:05 +0000 (16:36 +0100)]
Only run tests when building architecture-dependent packages
The tests aren't so interesting that we want to run them again when
splitting -arch/-indep builds.
Simon McVittie [Tue, 29 Aug 2017 15:19:27 +0000 (16:19 +0100)]
Use dh_missing --fail-missing instead of dh_install --fail-missing
Simon McVittie [Tue, 29 Aug 2017 15:18:45 +0000 (16:18 +0100)]
Install new bash completions
Simon McVittie [Tue, 29 Aug 2017 15:08:25 +0000 (16:08 +0100)]
New upstream release
- Update symbols file
Simon McVittie [Tue, 29 Aug 2017 14:42:16 +0000 (15:42 +0100)]
Updated version 2017.10 from 'upstream/2017.10'
with Debian dir
76a68b2f7bf9d0622355ddda0659e539826c2b0d
Simon McVittie [Tue, 29 Aug 2017 14:42:08 +0000 (15:42 +0100)]
New upstream version 2017.10
Matthew Leeds [Thu, 24 Aug 2017 21:56:48 +0000 (14:56 -0700)]
lib/repo-refs: Fix typos in last commit
This fixes a whitespace error and a mistake that made it into the last
commit,
7ed881baa, at the last minute.
Closes: #1112
Approved by: cgwalters
Colin Walters [Fri, 25 Aug 2017 14:30:44 +0000 (10:30 -0400)]
bin/commit: Add --selinux-policy option
This was really straightforward to implement, and is useful
for dev/test scenarios mainly like we have in rpm-ostree at least.
Closes: https://github.com/ostreedev/ostree/issues/1113
Closes: #1114
Approved by: jlebon
Jonathan Lebon [Wed, 23 Aug 2017 16:15:46 +0000 (12:15 -0400)]
ostree-sysroot: make simple_write_deployment smarter
This is a follow-up to https://github.com/ostreedev/ostree/pull/1097.
We make simple_write_deployment smart enough so that it can be used for
rpm-ostree's purposes. This is mostly an upstreaming of logic that
already existed there.
Notably we correctly append NOT_DEFAULT deployments *after* the booted
deployment and we now support RETAIN_PENDING and RETAIN_ROLLBACK flags
to have more granularity on deployment pruning.
Expose these new flags on the CLI using new options (as well as expose
the previously existing NOT_DEFAULT flag as --not-as-default).
I couldn't add tests for --retain-pending because the merge deployment
is always the topmost one. Though I did check that it worked in a VM.
Closes: #1110
Approved by: cgwalters
Jonathan Lebon [Tue, 22 Aug 2017 21:10:54 +0000 (17:10 -0400)]
ostree-sysroot: convert function to new style
Also convert ot-admin-builtin-deploy.c.
Prep for more work there.
Closes: #1110
Approved by: cgwalters
Matthew Leeds [Tue, 22 Aug 2017 00:08:12 +0000 (17:08 -0700)]
lib/repo-refs: Include remote refs when using collections
When working with collections it can be useful to see remote refs rather
than just local and mirrored ones. This commit changes the "ostree refs
-c" output to include remote refs, and includes remote refs with
collection IDs in summary file generation as well. The former behavior
is consistent with how "ostree refs" works, and the latter behavior is
useful in facilitating P2P updates even when mirrors haven't been
configured.
To accomplish this, OstreeRepoListRefsExtFlags was extended with an
EXCLUDE_REMOTES flag. This was done rather than an INCLUDE_REMOTES flag
so that existing calls to ostree_repo_list_refs_ext continue to have the
same behavior. This flag was added to ostree_repo_list_collection_refs
(which is an experimental API break).
Also, add unit tests for the "refs -c" and summary file behavior, and
update relevant tests.
Closes: #1069
Approved by: cgwalters
Colin Walters [Wed, 23 Aug 2017 18:25:43 +0000 (14:25 -0400)]
lib/repo: Add some assertions for ABI sizes
Things like https://sourceware.org/libabigail/manual/abidiff.html
look interesting but in a brief look I couldn't work out
how to conveniently use them for quick ABI sanity checking without
doing a diff from a previous build (which we could do but would be
more involved).
This way will at least catch struct ABI breaks on x86_64 which
I think we'd be most likely to do accidentally when trying
to use one of the previous unused values.
I found the hole values via gdb's `pahole` command.
Closes: #1108
Approved by: jlebon
Colin Walters [Wed, 23 Aug 2017 17:03:39 +0000 (13:03 -0400)]
bin/main: Remove duplicated usage output on unknown commands
It's been this way for a long time, though not forever; I went
back to v2014.11 as a random choice and it worked then. Not
going to bother doing a full archive search for this though.
Anyone who wants more context can help themselves.
Closes: https://github.com/ostreedev/ostree/issues/1096
Closes: #1106
Approved by: jlebon
Colin Walters [Wed, 23 Aug 2017 17:31:40 +0000 (13:31 -0400)]
build/maint.mk: Comment out setting of LC_ALL
This triggers obscure bugs; really we shouldn't be overriding
the global locale here. In practice, production build systems
will be using fixed locales anyways.
Also, we only use a small subset of this file (`make syntax-check`),
which appears to work OK without this.
I will probably try to work out where to submit this as at
least an issue report for upstream gnulib.
Closes: https://github.com/ostreedev/ostree/issues/1101
Closes: #1107
Approved by: heftig
Colin Walters [Wed, 23 Aug 2017 14:09:44 +0000 (10:09 -0400)]
lib/commit: Honor commit filter for libarchive --tar-autocreate-parents
This makes `ostree commit --tree=tar` honor `--owner-uid` and `--owner-gid`
for the root directory.
Prep for further commit filtering work, although mostly for the unit test cases;
this ensures we can use `ostree checkout` after autocreating a root directory.
Closes: #1104
Approved by: jlebon
Colin Walters [Wed, 23 Aug 2017 13:37:44 +0000 (09:37 -0400)]
lib/commit: Remove duplicated function for filter processing
The wrapping here is unnecessary, since `_ostree_repo_commit_modifier_apply()`
already does what this function did. Further, the return type was wrong.
Saw this while doing some libarchive work.
Closes: #1104
Approved by: jlebon
Jonathan Lebon [Mon, 21 Aug 2017 20:52:59 +0000 (16:52 -0400)]
pull: better description for --mirror
Describe the behaviour of --mirror a bit better.
Closes: #1100
Closes: #1099
Approved by: dustymabe
Philip Withnall [Tue, 22 Aug 2017 17:33:57 +0000 (18:33 +0100)]
build: Ensure ostree-tmpfiles.conf is distributed
Signed-off-by: Philip Withnall <withnall@endlessm.com>
Closes: #1103
Approved by: cgwalters